- The ReMarkable 2 remains one of my favorite creative tools, and it's $70 off for Black Friday
- Join BJ's Wholesale Club for just $20 and save on holiday shopping
- The best Black Friday Sam's Club deals 2024: Sales available now
- The TCL Q65 98-inch TV is just $1,600 at Amazon for Black Friday
- New York Secures $11.3m from Insurance Firms in Data Breach Settlement
Introduction to Terraform and ACI – Part 3
If you haven’t already seen the previous Introduction to Terraform posts, please have a read through. This “Part 3” will provide an explanation of the various configuration files you’ll see in the Terraform demo.
- Introduction to Terraform
- Terraform and ACI
- Explanation of the Terraform configuration files
- Terraform Remote State and Team Collaboration
- Terraform Providers – How are they built?
Code Example
https://github.com/conmurphy/terraform-aci-testing/tree/master/terraform
Configuration Files
You could split out the Terraform backend config from the ACI config however in this demo it has been consolidated.
config-app.tf
The name “myWebsite” in this example refers to the Terraform instance name of the “aci_application_profile” resource.
The Application Profile name that will be configured in ACI is “my_website“.
When referencing one Terraform resource from another, use the Terraform instance name (i.e. “myWebsite“).
config.tf
Only the key (name of the Terraform state file) has been statically configured in the S3 backend configuration. The bucket, region, access key, and secret key would be passed through the command line arguments when running the “terraform init” command. See the following for more detail on the various options to set these arguments.
https://www.terraform.io/docs/backends/config.html
terraform.tfvars
variables.tf
We need to define the variables that Terraform will use in the configuration. Here are the options to provide values for these variables:
- Provide a default value in the variable definition below
- Configure the “terraform.tfvars” file with default values as previously shown
- Provide the variable values as part of the command line input
$terraform apply –var ’tenant_name=tenant-01’
- Use environmental variables starting with “TF_VAR“
$export TF_VAR_tenant_name=tenant-01
- Provide no default value in which case Terraform will prompt for an input when a plan or apply command runs
versions.tf
Share: